import { InvokeBaseAttribute } from "../../../Decorator/Decorator";
import { AInvokeHandler } from "../EventSystem/IInvoke";
import { TimerCallback } from "./TimerComponent";

@InvokeBaseAttribute(TimerCallback)
export class ATimer<T> extends AInvokeHandler<TimerCallback> {

    public override Handle(a: TimerCallback): void {
        this.Run(a.Args as T);
    }

    protected Run(self: T): void {

    }

}